/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package isd.inventario.informe;

import isd.general.util.JsfUtil;
import isd.inventario.modelo.ST_Deposito;
import isd.inventario.modelo.ST_ItemMovimiento;
import isd.inventario.modelo.ST_Producto;
import isd.inventario.modelo.ST_Sector;
import isd.inventario.rn.StockRN;
import isd.inventario.web.BuscadorProductoBean;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;

/**
 *
 * @author Claudio
 */
@ManagedBean(name="cronologiaBean")
@ViewScoped
public class CronologiaBean {

    @EJB private StockRN stockRN;

    @ManagedProperty(value = "#{buscadorProductoBean}")
    protected BuscadorProductoBean buscadorProductoBean;

    private BigDecimal  saldoInicial;
    private ST_Producto producto;
    private ST_Deposito deposito;
    private ST_Sector   sector;
    private Date        fDesde;
    private Date        fHasta;
    private Date        fMaxima;
    private String      titulo;
    private List<ST_ItemMovimiento> movimientos;


    /** Creates a new instance of CronologiaBean */
    public CronologiaBean() {

    }
    
    @PostConstruct
    private void init(){

        titulo = "Cronología";
        
        fDesde = new Date();
        fHasta = new Date();
        fMaxima = new Date();
    }

    public void verCronologia(){

        if (fHasta.before(fDesde)){
            JsfUtil.addErrorMessage("Fecha desde tiene que ser mayor o igual a fecha Hasta");
            return;
        }

        producto = buscadorProductoBean.getProducto();
        movimientos = stockRN.getMovimientosEntreFechas(producto, sector, fDesde, fHasta);
        saldoInicial = stockRN.getStockAFecha(producto, sector, fDesde);
        
    }

    public Date getfDesde() {
        return fDesde;
    }

    public void setfDesde(Date fDesde) {
        this.fDesde = fDesde;
    }

    public Date getfHasta() {
        return fHasta;
    }

    public void setfHasta(Date fHasta) {
        this.fHasta = fHasta;
    }
    
    public ST_Producto getProducto() {
        return producto;
    }

    public void setProducto(ST_Producto producto) {
        this.producto = producto;
    }

    public BigDecimal getSaldoInicial() {
        return saldoInicial;
    }

    public void setSaldoInicial(BigDecimal saldoInicial) {
        this.saldoInicial = saldoInicial;
    }

    public ST_Sector getSector() {
        return sector;
    }

    public void setSector(ST_Sector sector) {
        this.sector = sector;
    }

    public BuscadorProductoBean getBuscadorProductoBean() {
        return buscadorProductoBean;
    }

    public void setBuscadorProductoBean(BuscadorProductoBean buscadorProductoBean) {
        this.buscadorProductoBean = buscadorProductoBean;
    }

    public List<ST_ItemMovimiento> getMovimientos() {
        return movimientos;
    }

    public void setMovimientos(List<ST_ItemMovimiento> movimientos) {
        this.movimientos = movimientos;
    }

    public Date getfMaxima() {
        return fMaxima;
    }

    public void setfMaxima(Date fMaxima) {
        this.fMaxima = fMaxima;
    }

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public ST_Deposito getDeposito() {
        return deposito;
    }

    public void setDeposito(ST_Deposito deposito) {
        this.deposito = deposito;
    }
    
    
}
